asp.net 源码(ASPNET数据导出到excel文件给客户端下载的几种方法麻烦告诉我)
资讯
2024-09-01
64
1. asp.net 源码,ASPNET数据导出到excel文件给客户端下载的几种方法麻烦告诉我?
Response.WriteFile(ASP.NET 数据导出到excel文件给客户端下载的几种方法
数据导出到excel文件给客户端下载的几种方法:
方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载
优点:
1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。
2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,再次给客户下载的时候不需要重复生成文件。
3、csv文件是文本文件,逗号隔开字段,回车隔开行,易于数据导入导出。
实现方法:
SqlConnectIOn conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
string name=System.Configuration.ConfigurationSettings.AppSettings["downloadurl"].ToString() DateTime.Today.ToString("yyyyMMdd") new Random(DateTime.Now.Millisecond).Next(10000).ToString() ".csv";//存放到web.config中downloadurl指定的路径,文件格式为当前日期 4位随机数
FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write);
StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("gb2312"));
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=" Server.UrlEncode(name));
Response.ContentType = "application/ms-excel";// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.WriteFile(name); // 把文件流发送到客户端
Response.End();
方法二:导出到csv文件,不存放到服务器,直接给浏览器输出文件流
优点:
1、随时生成,不需要占用资源
2、可以结合身份认证
3、同样利于数据交换
实现方法:
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
StringWriter sw=new StringWriter();
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
对方法一,二补充一点,如果你希望导出的是xls文件分隔符用\t就可以了,不要用逗号
代码修改如下:
sw.WriteLine("自动编号\t姓名\t年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "\t" dr["vName"] "\t" dr["iAge"]);}
另外,修改输出的文件扩展名为xls即可。
方法三:从datagrid导出html代码,生成excel文件,给客户端下载
实现方法:
Response.Clear();
Response.Buffer= false;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=test.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
在这里说明一点:有的网友反映代码出现“没有dr["id"]”之类的错误,这个代码是按照我的数据结构来写的,到时候相关的字段要换成你自己的才是。
还有就是如果文件名需要中文的话,这么修改Response.AddHeader("Content-Disposition", "attachment; filename=" System.Web.HttpUtility.UrlEncode("中文",System.Text.Encoding.UTF8) ".xls");
2. 35网站开发实例教程?
ASP.NET 3.5网站开发实例教程?
首先运行visual studio 2015进入vs2015主画面
找到左上角的文件依次找到 文件-> 新建->项目
在打开的新建项目窗口中,找到我们的framwork 版本我们选择ASP.NET 3.5
选择 ASP.NET 3.5 后,在左侧找到 web项目选择ASP.NET 空web应用程序
接着定义我们的应用程序名称 和位置设定完成后,选择确定,选择确定后,就会根据我们的设定,生成应用程式所需的文件和框架目录结构见下图
因为我们是创建的空应用程序所有整个目录结构很简单我们可以右键单击我们的 应用程序,选择属性来确认我们当前的框架是否使用的是 ASP.NET 3.5
接着我们就可以开发我们的web应用程序了我们新建一个aspx页面简单的填入以下内容:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-
撰写代码完成后,保存并运行就可以了这样一个简单的web应用程序实例就创建完成了
3. asp为什么被淘汰?
ASP早已被淘汰了,运行速度太慢,不过开发挺简单的,是从BASIC语言中延伸出来的,所以很好学,但运行速度跟PHP、JSP、.net比起来真的挺慢,所以现在基本上都没有人使用了。
早期的Web程序开发是十分复杂的,以至于要制作一个简单的动态页面需要编写大量的C代码才能完成,于是Microsoft公司于1996年推出的一种Web应用开发技术asp,用于取代对Web服务器进行可编程扩展的CGI标准。
ASP的主要功能是将脚本语言、HTML、组件和Web数据库访问功能有机地结合在一起,形成一个能在服务器端运行的应用程序,该应用程序可根据来自浏览器端的请求生成相应的HTML文档并回送给浏览器。使用ASP能够创建以HTML网页作为用户界面,并能够与数据库进行交互的Web应用程序。
4. NET有什么区别?
ASP就是ActiveServerPages的缩写,Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,开须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 运用ASP可将VBscript、javascript等脚本语言加入到HTML中,便可快速完成网站的应用研究程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本都可以完成它的节节胜利。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 ASP.NET 之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,而是用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大简化了编程。还可以用ASP.NET建立网络服务。 ASP与ASP.NET的区别 1.开发语言不同 ASP仅局限于使用脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。 ASP.NET允许用户选择并使用功能完善的编程语言,也允许使用潜加巨大的.NETFramework。 2.运行机制不同 ASP是解释运行的编程框架,所以执行效率加较低。 ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。 3.开发方式 ASP把界面设计和程序设计混在一起,维护困难。 ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。
5. ASPNET是什么?
ASP.NET和ASP的区别有以下几点:
1、开发语言不同。ASP使用non-type脚本语言来开发应用程序或web网页,在web端添加代码和在客户端添加代码一致,导致代码杂乱无章。ASP.NET使用strongly-type编程语言开发应用程序或web网页,也可以使用.NET Framework框架开发,代码一致性较ASP好了许多。
2、运行方式不同。ASP是解释运行的编程框架,使用js等脚本语言,运行速度慢。ASP.NET是编译性的编程框架,运行效率高且使用的是服务器端预先编译好的代码库。
3、开发方式不同。ASP是面向过程设计语言,代码前后端不分离,写在同一个页面,代码杂乱无章,维护性和可重用性较低。ASP.NET则是面向对象设计语言,代码前后端分离,一部分专注于编写前端代码,一部分专注于编写相应的后台功能,代码井然有序,易维护且可重用性高。
4、复杂性不同。ASP复杂性低,代码容易理解,但是开发效率不高。ASP.NET则较为复杂,但是具有相应的框架,程序设计快速且思路清晰。
6. aspnet中怎么限制重复提交?
让网页过期,或者不让网页被IE缓存 1.禁止客户端缓存要在
中加入类似如下内): ASP.net 代码如下: 放在页面代码Page_Onload HttpContext.Current.Response.Expires = 0; Response.ExpiresAbsolute = DateTime.Now - 1; Response.AddHeader("progma", "no-cache"); Response.AddHeader("cache-control", "private"); Response.CacheControl = "no-cache"; 7. ASPNET身份验证的几种方式?
1、Windows身份验证提供程序提供有关如何将Windows身份验证与MicrosoftInterNET信息服务(IIS)身份验证结合使用来确保ASP.NET应用程序安全的信息。
2、Forms身份验证提供程序提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用Forms身份验证的一种简便方法是使用ASP.NET成员资格和ASP.NET登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。有关更多信息,请参见使用成员资格管理用户和ASP.NET登录控件概述。
3、Passport身份验证提供程序提供有关由Microsoft提供的集中身份验证服务的信息,该服务为成员站点提供单一登录和核心配置文件服务。
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!
1. asp.net 源码,ASPNET数据导出到excel文件给客户端下载的几种方法麻烦告诉我?
Response.WriteFile(ASP.NET 数据导出到excel文件给客户端下载的几种方法
数据导出到excel文件给客户端下载的几种方法:
方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载
优点:
1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。
2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,再次给客户下载的时候不需要重复生成文件。
3、csv文件是文本文件,逗号隔开字段,回车隔开行,易于数据导入导出。
实现方法:
SqlConnectIOn conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
string name=System.Configuration.ConfigurationSettings.AppSettings["downloadurl"].ToString() DateTime.Today.ToString("yyyyMMdd") new Random(DateTime.Now.Millisecond).Next(10000).ToString() ".csv";//存放到web.config中downloadurl指定的路径,文件格式为当前日期 4位随机数
FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write);
StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("gb2312"));
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=" Server.UrlEncode(name));
Response.ContentType = "application/ms-excel";// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.WriteFile(name); // 把文件流发送到客户端
Response.End();
方法二:导出到csv文件,不存放到服务器,直接给浏览器输出文件流
优点:
1、随时生成,不需要占用资源
2、可以结合身份认证
3、同样利于数据交换
实现方法:
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
StringWriter sw=new StringWriter();
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
对方法一,二补充一点,如果你希望导出的是xls文件分隔符用\t就可以了,不要用逗号
代码修改如下:
sw.WriteLine("自动编号\t姓名\t年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "\t" dr["vName"] "\t" dr["iAge"]);}
另外,修改输出的文件扩展名为xls即可。
方法三:从datagrid导出html代码,生成excel文件,给客户端下载
实现方法:
Response.Clear();
Response.Buffer= false;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=test.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
在这里说明一点:有的网友反映代码出现“没有dr["id"]”之类的错误,这个代码是按照我的数据结构来写的,到时候相关的字段要换成你自己的才是。
还有就是如果文件名需要中文的话,这么修改Response.AddHeader("Content-Disposition", "attachment; filename=" System.Web.HttpUtility.UrlEncode("中文",System.Text.Encoding.UTF8) ".xls");
2. 35网站开发实例教程?
ASP.NET 3.5网站开发实例教程?
首先运行visual studio 2015进入vs2015主画面
找到左上角的文件依次找到 文件-> 新建->项目
在打开的新建项目窗口中,找到我们的framwork 版本我们选择ASP.NET 3.5
选择 ASP.NET 3.5 后,在左侧找到 web项目选择ASP.NET 空web应用程序
接着定义我们的应用程序名称 和位置设定完成后,选择确定,选择确定后,就会根据我们的设定,生成应用程式所需的文件和框架目录结构见下图
因为我们是创建的空应用程序所有整个目录结构很简单我们可以右键单击我们的 应用程序,选择属性来确认我们当前的框架是否使用的是 ASP.NET 3.5
接着我们就可以开发我们的web应用程序了我们新建一个aspx页面简单的填入以下内容:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-
撰写代码完成后,保存并运行就可以了这样一个简单的web应用程序实例就创建完成了
3. asp为什么被淘汰?
ASP早已被淘汰了,运行速度太慢,不过开发挺简单的,是从BASIC语言中延伸出来的,所以很好学,但运行速度跟PHP、JSP、.net比起来真的挺慢,所以现在基本上都没有人使用了。
早期的Web程序开发是十分复杂的,以至于要制作一个简单的动态页面需要编写大量的C代码才能完成,于是Microsoft公司于1996年推出的一种Web应用开发技术asp,用于取代对Web服务器进行可编程扩展的CGI标准。
ASP的主要功能是将脚本语言、HTML、组件和Web数据库访问功能有机地结合在一起,形成一个能在服务器端运行的应用程序,该应用程序可根据来自浏览器端的请求生成相应的HTML文档并回送给浏览器。使用ASP能够创建以HTML网页作为用户界面,并能够与数据库进行交互的Web应用程序。
4. NET有什么区别?
ASP就是ActiveServerPages的缩写,Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,开须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 运用ASP可将VBscript、javascript等脚本语言加入到HTML中,便可快速完成网站的应用研究程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本都可以完成它的节节胜利。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 ASP.NET 之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,而是用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大简化了编程。还可以用ASP.NET建立网络服务。 ASP与ASP.NET的区别 1.开发语言不同 ASP仅局限于使用脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。 ASP.NET允许用户选择并使用功能完善的编程语言,也允许使用潜加巨大的.NETFramework。 2.运行机制不同 ASP是解释运行的编程框架,所以执行效率加较低。 ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。 3.开发方式 ASP把界面设计和程序设计混在一起,维护困难。 ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。
5. ASPNET是什么?
ASP.NET和ASP的区别有以下几点:
1、开发语言不同。ASP使用non-type脚本语言来开发应用程序或web网页,在web端添加代码和在客户端添加代码一致,导致代码杂乱无章。ASP.NET使用strongly-type编程语言开发应用程序或web网页,也可以使用.NET Framework框架开发,代码一致性较ASP好了许多。
2、运行方式不同。ASP是解释运行的编程框架,使用js等脚本语言,运行速度慢。ASP.NET是编译性的编程框架,运行效率高且使用的是服务器端预先编译好的代码库。
3、开发方式不同。ASP是面向过程设计语言,代码前后端不分离,写在同一个页面,代码杂乱无章,维护性和可重用性较低。ASP.NET则是面向对象设计语言,代码前后端分离,一部分专注于编写前端代码,一部分专注于编写相应的后台功能,代码井然有序,易维护且可重用性高。
4、复杂性不同。ASP复杂性低,代码容易理解,但是开发效率不高。ASP.NET则较为复杂,但是具有相应的框架,程序设计快速且思路清晰。
6. aspnet中怎么限制重复提交?
让网页过期,或者不让网页被IE缓存 1.禁止客户端缓存要在
中加入类似如下内): ASP.net 代码如下: 放在页面代码Page_Onload HttpContext.Current.Response.Expires = 0; Response.ExpiresAbsolute = DateTime.Now - 1; Response.AddHeader("progma", "no-cache"); Response.AddHeader("cache-control", "private"); Response.CacheControl = "no-cache";7. ASPNET身份验证的几种方式?
1、Windows身份验证提供程序提供有关如何将Windows身份验证与MicrosoftInterNET信息服务(IIS)身份验证结合使用来确保ASP.NET应用程序安全的信息。
2、Forms身份验证提供程序提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用Forms身份验证的一种简便方法是使用ASP.NET成员资格和ASP.NET登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。有关更多信息,请参见使用成员资格管理用户和ASP.NET登录控件概述。
3、Passport身份验证提供程序提供有关由Microsoft提供的集中身份验证服务的信息,该服务为成员站点提供单一登录和核心配置文件服务。
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!